package com.qyer.lxp.lxdao.product;

import com.qyer.lxp.common.framework.contants.QyerMethodNameContants;
import com.qyer.lxp.common.framework.convert.TransformSession;
import com.qyer.lxp.model.product.normal.ProductCodeInfo;
import com.qyer.lxp.model.product.normal.ProductInfo;
import com.qyer.lxp.model.product.normal.ProductPickInfo;
import com.qyer.lxp.model.product.normal.SaleItemInfo;
import com.qyer.lxp.model.product.parameter.PickOrDropRequest;
import com.qyer.lxp.model.product.parameter.ProductCodeSearchRequest;
import com.qyer.lxp.model.product.parameter.ProductInfoRequest;
import com.qyer.lxp.model.product.parameter.SaleItemInfoRequest;

import java.util.List;

/**
 * 产品信息接口类
 * Created by jiangping on 16/5/13.
 */

public interface IProductDao {

    /**
     * 获取产品code以及更新时间接口
     * @param productCodeSearchRequest  获取产品信息调用参数
     * @return  返回产品信息
     * @throws Exception
     */
    public List<ProductCodeInfo> getUpdateProductInfo(ProductCodeSearchRequest productCodeSearchRequest) throws Exception;

    /**
     * 获取产品详细信息
     *
     * @param productInfoRequest 获取产品信息调用参数
     * @return 返回产品信息
     * @throws Exception
     */
    public ProductInfo getProductInfo(ProductInfoRequest productInfoRequest) throws Exception;

    /**
     * 获取接送信息接口
     * @param pickOrDropRequest 获取接机信息调用参数
     * @return  返回接机对象
     * @throws Exception
     */
    public List<ProductPickInfo> getPickOrDrop(PickOrDropRequest pickOrDropRequest) throws Exception;

    /**
     * 销售项目基本信息接口
     * @param saleItemInfoRequest 请求参数
     * @return 返回销售基本信息对象
     * @throws Exception
     */
    public List<SaleItemInfo> getSaleItemInfo(SaleItemInfoRequest saleItemInfoRequest) throws Exception;
}
